home *** CD-ROM | disk | FTP | other *** search
/ FishMarket 1.0 / FishMarket v1.0.iso / fishies / 176-200 / disk_185 / examples / display / dump.c < prev    next >
C/C++ Source or Header  |  1992-05-06  |  1KB  |  53 lines

  1. /*
  2.  * dump.c    - routine to dump rastport
  3.  *
  4.  */
  5.  
  6.  
  7. #include "exec/types.h"
  8. #include "intuition/intuition.h"
  9. #include "devices/printer.h"
  10.  
  11. extern struct IODRPReq  *CreateExtIO();
  12. extern struct MsgPort   *CreatePort();
  13.  
  14. dump(screen)
  15. struct Screen *screen;
  16.    {
  17.    struct IODRPReq *iodrp;
  18.    struct MsgPort  *printerPort;
  19.    struct ViewPort *vp;
  20.    int error = 1;
  21.  
  22.    if(printerPort = CreatePort("CAS_ddmp",0))
  23.       {
  24.       if(iodrp=CreateExtIO(printerPort,sizeof(struct IODRPReq)))
  25.          {
  26.          if(!(error=OpenDevice("printer.device",0,iodrp,0)))
  27.             {
  28.             vp = &screen->ViewPort;
  29.             iodrp->io_Command = PRD_DUMPRPORT;
  30.             iodrp->io_RastPort = &screen->RastPort;
  31.             iodrp->io_ColorMap = vp->ColorMap;
  32.             iodrp->io_Modes = (ULONG)vp->Modes;
  33.        /*   iodrp->io_SrcX = 0;     MEMF_CLEAR zeroed this  */
  34.        /*   iodrp->io_SrcY = 0;     MEMF_CLEAR zeroed this  */
  35.             iodrp->io_SrcWidth = screen->Width;
  36.             iodrp->io_SrcHeight = screen->Height;
  37.        /*   iodrp->io_DestCols = 0; MEMF_CLEAR zeroed this  */
  38.        /*   iodrp->io_DestRows = 0; MEMF_CLEAR zeroed this  */
  39.             iodrp->io_Special = SPECIAL_FULLCOLS|SPECIAL_ASPECT;
  40.  
  41.             error = DoIO(iodrp);
  42.             CloseDevice(iodrp);
  43.             }
  44.          DeleteExtIO(iodrp, sizeof(struct IODRPReq));
  45.          }
  46.       DeletePort(printerPort);
  47.       }
  48.    return(error);
  49.    }
  50.  
  51.  
  52.  
  53.